package com.tbit.manager.api.dto;

import cn.hutool.core.date.DateUtil;
import lombok.Data;

import java.util.Date;
import java.util.Objects;

/**
 * 用户免押会员, 骑行卡购买记录
 *
 * @since 2024/12/3
 */
@Data
public class UserMemberDTO {
    /**
     * 区域代理名称
     */
    private String accountName;
    /**
     * 手机号码
     */
    private String phone;
    /**
     * 免押会员套餐名
     */
    private String name;
    /**
     * 购买时间
     */
    private String buyTime;
    /**
     * 失效日期
     */
    private String expireTime;
    /**
     * 金额
     */

    private Integer money;

    private Double moneyYuan;
    /**
     * 是否失效
     */
    private Integer isValid;

    private Integer useCount;

    private Integer maxRide;

    private Integer rideCardId;

    private String orderNO;

    private Integer accountId;
    /**
     * 最近一次使用时间
     */
    private Date lastUsedTime;
    /**
     * 当前使用次数
     */
    private Integer currentNum;
    /**
     * 当前使用次数
     */
    private Integer restNum;
    /**
     * 使用类型 0-总共可用 1-每天可用
     */
    private Integer userType;

    /**
     * 是否为日卡并重置次数
     *
     * @return boolean
     */
    public boolean whetherDailyCardAndResetCurrentNum() {
        if (Objects.nonNull(this.lastUsedTime) && this.lastUsedTime.getTime() > DateUtil.beginOfDay(new Date()).getTime()) {
            return false;
        }
        this.currentNum = 0;
        return true;
    }
}
